package com.lonely.system.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.lonely.system.domain.entity.SysDataPermissions;
import com.lonely.system.domain.dto.user.BindUserDataPermissionsDto;
import com.lonely.system.domain.vo.system.user.SysUserDetailVo;

import java.util.Set;

/**
 * @author: 黄志标
 * @date: 2025/6/3 14:47
 * @description: 数据权限接口
 */
public interface ISysDataPermissionsService extends IService<SysDataPermissions> {


    /**
     * 获取用户数据权限
     *
     * @param userId
     * @return
     */
    SysUserDetailVo.OrganizationInfo getOrganizationsByUserId(Long userId);


    /**
     * 绑定用户数据权限关联
     *
     * @param bindUserDataPermissionsDto
     */
    void bindUserPermissions(BindUserDataPermissionsDto bindUserDataPermissionsDto);


    /**
     * 获取指定用户的工厂数据权限
     *
     * @param userId
     * @return
     */
    Set<String> getFactoryDataPermissions(Long userId);
}
